diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,6 @@
 
 CFLAGS= -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \
 	-ffreestanding -fPIC $(SMP_FL) -fno-stack-protector 
-CPPFLAGS= -m32
 ASFLAGS= -32
 
 # This reverts a change introduced with recent binutils (post
@@ -34,7 +33,7 @@
 	$(LD) -shared -Bsymbolic -T memtest_shared.lds -o $@ $(OBJS)
 
 memtest_shared.bin: memtest_shared
-	objcopy -O binary $< memtest_shared.bin
+	objcopy -O binary $< $@
 
 memtest: memtest_shared.bin memtest.lds
 	$(LD) -s -T memtest.lds -b binary memtest_shared.bin -o $@
@@ -50,10 +49,10 @@
 
 memtest.bin: memtest_shared.bin bootsect.o setup.o memtest.bin.lds
 	$(LD) -T memtest.bin.lds bootsect.o setup.o -b binary \
-	memtest_shared.bin -o memtest.bin
+	memtest_shared.bin -o $@
 
 reloc.o: reloc.c
-	$(CC) -c $(CFLAGS) -fno-strict-aliasing reloc.c
+reloc.o: CFLAGS += -fno-strict-aliasing
 
 test.o: test.c
 test.o: CFLAGS += -O0 -fno-PIC
